package adt;

import kernel.CPU.Request;
/**
 * 
 * @author Aaron Fung
 * 		   Chris Ren
 * @version 1.0
 */
public class CalcProcess extends CPUprocess {

	
	/**
	 * Construct that takes an int as it's process ID.
	 * @param the_pid the process id.
	 */
	public CalcProcess(final int the_pid) {
		super(the_pid);
	}
	
	/**
	 * Output to the screen. 
	 * Override so this process won't increase it's step. 
	 * Because this is a background process that doesn't generates any request.
	 */
	@Override
	public void proceessoutput() {
		//System.out.println(this.toString() + " Background process is runing...");
		getPCB().resetStep();
	}


	@Override
	public String toString() {
		return "PID: " + getPid() + "     Type: Calculating Process\n";
	}

	/**
	 * returns null because it not suppose to generates any request.
	 */
	@Override
	public Request getRequest() {
		return null;
	}

}
